package com.jyw.business.ins.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jyw.business.ins.domain.InsPlanItem;
import com.jyw.business.ins.domain.dto.web.InsPlanItemPageDto;
import com.jyw.business.ins.domain.vo.web.InsPlanItemVO;

import java.util.List;

/**
 * 巡检计划关联巡检项Service接口
 *
 * @author system
 * @date 2023-10-07
 */
public interface IInsPlanItemService extends IService<InsPlanItem> {

    /**
     * 查询巡检计划关联巡检项
     *
     * @param id 巡检计划关联巡检项主键
     * @return 巡检计划关联巡检项
     */
    InsPlanItem selectInsPlanItemById(Long id);

    /**
     * 分页查询巡检计划选择配置项
     *
     * @param insPlanItemPageDto
     * @return
     */
    List<InsPlanItemVO> pagePlanItemList(InsPlanItemPageDto insPlanItemPageDto);

    /**
     * 查询巡检计划巡检项
     *
     * @param planId
     * @return
     */
    List<InsPlanItemVO> getPlanItemList(Long planId);

    /**
     * 查询巡检计划关联巡检项列表
     *
     * @param insPlanItem 巡检计划关联巡检项
     * @return 巡检计划关联巡检项集合
     */
    List<InsPlanItem> selectInsPlanItemList(InsPlanItem insPlanItem);

    /**
     * 删除巡检计划关联巡检项
     *
     * @param planId 巡检计划关联巡检项主键
     * @return 结果
     */
    int deleteByPlanId(Long planId);

    /**
     * 批量删除巡检计划关联巡检项
     *
     * @param ids 需要删除的巡检计划关联巡检项主键集合
     * @return 结果
     */
    int deleteInsPlanItemByIds(Long[] ids);

    /**
     * 删除巡检计划关联巡检项信息
     *
     * @param id 巡检计划关联巡检项主键
     * @return 结果
     */
    int deleteInsPlanItemById(Long id);
}
